/**
 * Copyright 2010-2011 The Regents of the University of California
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on
 * an "AS IS"; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations under
 * the License.
 * 
 * Author: Alexander Behm <abehm (at) ics.uci.edu>
 */

package edu.uci.ics.fuzzyjoin.tokenizer;

import java.io.DataOutput;
import java.io.IOException;

public class UTF8WordToken extends AbstractUTF8Token {

	public UTF8WordToken(byte tokenTypeTag, byte countTypeTag) {
		super(tokenTypeTag, countTypeTag);
	}

	@Override
	public void serializeToken(DataOutput dos) throws IOException {
		handleTokenTypeTag(dos);

		int tokenUTF8Len = length - start;
		dos.writeShort((short) tokenUTF8Len);
		int pos = start;
		for (int i = 0; i < tokenLength; i++) {
			char c = StringUtils.toLowerCase(StringUtils.charAt(data, pos));
			pos += StringUtils.writeCharAsModifiedUTF8(c, dos);
		}
	}
}
